package frsf.cidisi.exercise.tp.situationCalculus.actions;

import componentes.Tesoro;
import frsf.cidisi.exercise.tp.situationCalculus.Indiana_JonesMain;
import frsf.cidisi.exercise.tp.situationCalculus.Indiana_State;
import frsf.cidisi.exercise.tp.situationCalculus.Isla_Emicere_State;
import frsf.cidisi.faia.agent.situationcalculus.SituationCalculusAction;
import frsf.cidisi.faia.state.AgentState;
import frsf.cidisi.faia.state.EnvironmentState;

public class Tomar_tesoro extends SituationCalculusAction {

    @Override
    public EnvironmentState execute(AgentState ast, EnvironmentState est) {
        Isla_Emicere_State environmentState = (Isla_Emicere_State) est;
        Indiana_State agentState = ((Indiana_State) ast);

        Tesoro tesoro_aux;
		if(environmentState.getpos_agente().getTesoro().getValor_cofre() != 0 && 
        		(agentState.getPesoCofre() + environmentState.getpos_agente().getTesoro().getPeso_cofre()) <450  ){
        	
			environmentState.ejecutarPirata();
        	tesoro_aux = new Tesoro();     
    		tesoro_aux.setContenido(0, 0, 0, 0, 0, 0, 0); 
    		
    		//para la interfaz
	    	String valor= String.valueOf(((Indiana_State) ast).getValor_Acumulado() + environmentState.getpos_agente().getTesoro().getValor_cofre());
	    	String peso= String.valueOf(((Indiana_State) ast).getPesoCofre() + environmentState.getpos_agente().getTesoro().getPeso_cofre());
	    	Indiana_JonesMain.inter.tomarTesoro(peso,valor);
	    	
    		
    		
    		agentState.setPesoCofre_Agente(agentState.getPesoCofre() + environmentState.getpos_agente().getTesoro().getPeso_cofre());
    		agentState.setValor_Acumulado(agentState.getValor_Acumulado()+environmentState.getpos_agente().getTesoro().getValor_cofre());
    		
    		environmentState.borrarTesoro(environmentState.getpos_agente());
    		
        }
        	
             // TODO: Complete Method
        
        return est;
    }

    @Override
    public String toString() {
        return "tomar_tesoro";
    }
}

